-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Add virtual torrent grouping feature #23551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AlfEspadero
wants to merge
5
commits into
qbittorrent:master
Choose a base branch
from
AlfEspadero:feature/torrent-groups
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add virtual torrent grouping feature #23551
AlfEspadero
wants to merge
5
commits into
qbittorrent:master
from
AlfEspadero:feature/torrent-groups
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Added TorrentGroup and TorrentGroupManager classes to manage torrent groups. - Enhanced TransferListWidget to support grouping of torrents, including creation, renaming, and deletion of groups. - Integrated group management into the UI, allowing users to add torrents to groups and remove them. - Implemented TransferListGroupModel to provide a hierarchical view of torrents grouped by their respective categories. - Added context menu actions for group operations in the TransferListWidget. - Ensured persistence of group states and settings through loading and saving mechanisms. - Updated UI elements to reflect group states and provide visual differentiation between groups and individual torrents.
Implement a lightweight grouping concept for UI aggregation, allowing users to group torrents (e.g. by Season). This feature introduces: - TorrentGroupManager for managing group definitions and membership. - TransferListGroupModel as a proxy model to display groups in the transfer list. - UI integration in TransferListWidget to support group expansion and rendering. Groups are stored in the configuration and persist across sessions.
Contributor
|
@qbittorrent/bug-handlers |
|
looks promising! when is the ETA? |
Member
|
closed/re-opened to trigger ci |
Member
If approved, qBittorrent 5.2+ |
I can help you test if needed |
Author
|
windows is the bane of my existence |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces a "Virtual Torrent Grouping" feature to the main transfer list. It allows users to visually group multiple torrents together under a single collapsible header in the GUI, without affecting their underlying save paths, categories, or tags.
Closes #19935
Motivation
Currently, users managing large numbers of related torrents (e.g., episodes of a TV season, albums in a discography) find their transfer list cluttered. While Categories and Tags provide filtering, they do not offer a way to condense these items in the main view. This feature provides a lightweight, visual-only organization method to keep the transfer list tidy.
Implementation Details
Core Logic: Added TorrentGroup and TorrentGroupManager in base to manage group associations and state.
GUI Model: Implemented TransferListGroupModel in gui. This acts as an intermediary model to handle the tree-like structure required for collapsible groups within the existing list framework.
Widget Update: Refactored TransferListWidget to support the new grouping mode and context menu actions for creating/managing groups.
UI Changes
Verification
Tested on Linux.
Verified that grouping/ungrouping persists correctly.
Verified that sorting and filtering still work as expected when groups are active.
Screenshots
Note to reviewers
I am a freshly graduated student and this is my first major contribution to the qBittorrent codebase. I have done my best to follow the coding guidelines and style, but I am happy to make any necessary adjustments based on your feedback.